翻訳と辞書
Words near each other
・ Robotic sensing
・ Robotic sensors
・ Robotic spacecraft
・ Robotic sperm
・ Robotic telescope
・ Robotic vacuum cleaner
・ Robotic voice effects
・ Robotica
・ Robotica (video game)
・ Roboticist
・ Robotics
・ Robotics Certification Standards Alliance
・ Robotics conventions
・ Robotics Design Inc
・ Robotics Institute
Robotics middleware
・ Robotics simulator
・ Robotics Society of India
・ Robotics suite
・ Robotics Toolbox for MATLAB
・ Robotics;Notes
・ Robotika
・ Robotino
・ Robotique Majestique
・ Robotis Bioloid
・ Robotium
・ Robotix
・ Robotix (competition)
・ Robotix (disambiguation)
・ Robotix (toys)


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

Robotics middleware : ウィキペディア英語版
Robotics middleware

Robotics middleware is middleware to be used in complex robot control software systems.
==General concepts==
As ''glue'' code, the middleware should be invisible, and introduce no overhead or extra constraints on the components. This is of course an unreachable (non-functional) design requirement, so compromises have to be made. Different middleware projects mostly differ in which compromises are made (implicitly, most often!) and in which robotics applications are being targeted.
As glue software, middleware should support the ''coupling'' of subsystems, which is a fundamentally different software development skill than the ''decoupling'' design requirements that most software engineers are educated in. Indeed, decoupling is the major focus of class library development: one should make a library as independent from other libraries as possible. Middleware, on the other hand, must provide optimal support for ''coupling'': allowing to couple multiple, decoupledly designed components together in a way that satisfies system-level requirements.
The ''composition'' of sub-systems into a new system is often a difficult task: designing the ''architecture'' of the system is hard, since it requires to find the optimal trade-offs between ''all'' system requirements and to realise the optimal cooperation between all system components. There are currently close to no software tools, or internationally accepted standards and workflows, to support the job of the system designer.
Some of the problems to be solved when designing a composite system are:
* the composed system should have an interface that is not (much) more complex than the combination of all composing subsystems. Otherwise, the composite system offers no real design advantages to the human developer. In practice, this means that the composite system developer makes some design decisions that restrict the use of each of the components to only a part of its potential domain.
* the composed system should act to its users as one consistent, monolithic system in itself.
* building a system from reusable components is challenging with respect to the balance between ''performance'' (it (seems to be) easier to optimize performance if one is not restricted to using only pre-built components) and ''ease of reuse''.
At a conceptual level, a complex robot controller has components that each ''serve'' one of the following four concerns:
* Communication: components must exchange information (data, events, commands,…), and ''how'' this exchange is done is an important property of the composite system.
* Computation: each component performs certain computations that are necessary to provide the functionality that is expected from the system.
* Configuration: components should be usable in more than one possible configuration (i.e., concrete settings for each of their variable parameters), but the amount of configuration is an important aspect of the design and the implementation of components and systems. Configuration is required at various moments in the lifetime of a software system: compile time, deployment time, run time,…
* Coordination: the activities in components have to be coordinated by ''something'' at the system level, in order to guarantee the expected behaviour and performance of the composed system. Coordination involves: decision making, scheduling, (de)activating subsystems and/or their interconnections,…
Whether these four above-mentioned primitive concepts are really ''minimal'' (i.e., one needs only these four concepts to cover all relevant system design aspects) and/or ''complete'' (i.e., these concepts cover ''all'' possible systems) is not so important in this discussion; the important thing is that, at systems level, the designer should benefit from a level of abstraction that is an appropriate trade-off between complexity (the fewer concepts are needed, the better) and flexibility (the more diverse systems can be represented by the conceptual primitives, the better). Again, the ''appropriate'' trade-off is not an absolute concept, so it will depend on many (non-functional) design requirements. As such, both the number and the nature of the primitive concepts, and the particular trade-off, are discriminating factors between different middleware projects.
Composing two or more components that each belong to one of these categories is an architectural design activity. It is often complex, in that it has to balance a large amount of functional and non-functional requirements (performance, compositionality,…). The robotics research community has not yet come up with fully satisfying software frameworks, architectures, or methodologies to deal with the composition problem, but a large number of (open source) projects exist already, and they all claim to provide good solutions to this component composition problem, at least to (implicitly described) parts of it. Anyway, many fundamental questions are still unsolved, or rather, are still unnoticed within the robotics research community. This article presents an overview of some of the relevant issues to be considered in the design and use of such middleware, and also provides an annotated list of middleware projects with an evaluation of which design constraints they took (or did not take) into account, and about how well they perform.

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「Robotics middleware」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.